Logical Interpretation: Static Program Analysis Using Theorem Proving

نویسندگان

  • Ashish Tiwari
  • Sumit Gulwani
چکیده

This paper presents the foundations for using automated deduction technology in static program analysis. The central principle is the use of logical lattices – a class of lattices defined on logical formulas in a logical theory – in an abstract interpretation framework. Abstract interpretation over logical lattices, called logical interpretation, raises new challenges for theorem proving. We present an overview of some of the existing results in the field of logical interpretation and outline some requirements for building expressive and scalable logical interpreters.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Information Flow Analysis in Logical Form

We specify an information flow analysis for a simple imperative language, using a Hoare-like logic. The logic facilitates static checking of a larger class of programs than can be checked by extant type-based approaches in which a program is deemed insecure when it contains an insecure subprogram. The logic is based on an abstract interpretation of program traces that makes independence between...

متن کامل

Combining Theorem Proving with Static Analysis for Data Structure Consistency

We describe an approach for combining theorem proving techniques with static analysis to analyze data structure consistency for programs that manipulate heterogeneous data structures. Our system uses interactive theorem proving and shape analysis to verify that data structure implementations conform to set interfaces. A simpler static analysis then uses the verified set interfaces to verify pro...

متن کامل

SMT-Based and Disjunctive Relational Abstract Domains for Static Analysis

Abstract Interpretation is a theory of sound approximation of program semantics. In recent decades, it has been widely and successfully applied to the static analysis of computer programs. In this thesis, we will work on abstract domains, one of the key concepts in abstract interpretation, which aim at automatically collecting information about the set of all possible values of the program vari...

متن کامل

Theory for Software Verification

interpretation. Theo. Comp. Sci. 277, 1–2, 47–103. Cousot, P. and Cousot, R. 1977. Abstract interpretation: a unified lattice model for staticanalysis of programs by construction or approximation of fixpoints. In ACM Symp. on Prin. of Prog. Lang. 238–252. Cousot, P. and Cousot, R. 1992. Inductive definitions, semantics and abstract interpretation. In ACM Symp. on Prin. of Prog. Lang. 83–94....

متن کامل

On Proving Safety Properties by Integrating Static Analysis, Theorem Proving and Abstraction

We present a new approach for proving safety properties of reactive systems, based on tight interaction between static analysis, theorem proving and abstraction techniques. The method incrementally constructs a proof or nds a counterexample. Every step consists of applying one of the techniques and makes constructive use of information obtained from failures in previous steps. The amount of use...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007